import wx


class MyFrame(wx.Frame):
    def __init__(self):
        super().__init__(parent=None, title="控件与布局", size=(300, 180))
        self.Center()
        panel = wx.Panel(parent=self)
        # 绝对布局
        self.statictext = wx.StaticText(parent=panel, label="Hello, wxPython!", pos=(50, 50))
        self.statictext.Bind(wx.EVT_LEFT_DOWN, self.on_click)  # 绑定鼠标左键点击事件
        # 绝对布局
        self.button = wx.Button(parent=panel, label="点击我", pos=(50, 100))
        # 事件源，事件
        self.button.Bind(wx.EVT_BUTTON, self.on_click)  # 绑定按钮事件


    # 绑定按钮事件，事件处理函数
    def on_click(self, event):
        self.statictext.SetLabel("按钮被点击了")
        print("按钮被点击了")


if __name__ == "__main__":
    # 创建一个应用程序
    app = wx.App()
    # 创建一个窗口
    frame = MyFrame()
    # 显示窗口
    frame.Show()
    # 事件循环
    app.MainLoop()